import axios from 'axios'
import config from './config.js'
import { ElMessage } from 'element-plus'



const baseURL = config.baseURL;

const service = axios.create({
	baseURL: baseURL, // 替换为你的 API 基础 URL  
	timeout: 100000, // 请求超时时间  
});
service.defaults.withCredentials = true;
service.defaults.xsrfCookieName = 'session:';

const NETWORK_ERROR = '网络错误，请稍后再试';

// 添加请求拦截器  
service.interceptors.request.use(
	config => {
		// 在发送请求之前做些什么，例如添加认证 token  
		// config.headers['Authorization'] = `Bearer ${token}`;  
		return config;
	},
	error => {
		// 对请求错误做些什么  
		return Promise.reject(error);
	}
);

// 添加响应拦截器  
service.interceptors.response.use(
	response => {
		// 对响应数据做点什么，例如处理全局错误提示  
		const { code, msg} = response.data;
		if (code === 200) {
			console.log("返回成功:",response.data);
			return response.data;

		} else {
			ElMessage.error(msg || NETWORK_ERROR);
			return Promise.reject(msg || NETWORK_ERROR);
		}
	},
	error => {
		// 对响应错误做点什么，例如显示错误通知  
		// 可以根据 error.response.status 来处理不同的 HTTP 状态码错误  
		return Promise.reject(error);
	}
);

export default service;
